package com.shujia.day09;

/*
    要求在控制台输出”HelloWorld”
 */
interface Inter3 {
    void show();
}


//class Inter3Impl implements Inter3{
//    @Override
//    public void show() {
//        System.out.println("HelloWorld");
//    }
//}

class Outer3 {
    //补齐代码
    public static Inter3 method(){
//        return new Inter3Impl();
        //使用匿名内部类改进
        return new Inter3() {
            @Override
            public void show() {
                System.out.println("HelloWorld");
            }
        };

//        return ()->System.out.println("HelloWorld");
    }
}

class OuterDemo {
    public static void main(String[] args) {
        //method方法是直接通过Outer3类名进行访问，method方法在Outer3是被static修饰的
        //调用完method方法之后还可以继续调用show方法，就说明method的返回值是一个对象
        //因为最后调用的是show方法，在这个程序中只有在接口中看到一个show方法
        //所以method的返回值类型是Inter3类型
        Outer3.method().show();
    }
}

